"""
DeepSeekSentimentModel使用示例
"""
from fin_senti_entity_platform.model_development.sentiment_analysis import SentimentModelFactory
from fin_senti_entity_platform.utils.config_loader import ConfigLoader

# 示例用法
if __name__ == "__main__":
    # 加载配置
    config = ConfigLoader().get_config('model')
    
    # 创建模型实例
    model = SentimentModelFactory.create_model('deepseek_sentiment', config)
    
    # 准备示例训练数据
    train_data = [
        {
            'text': '苹果公司今天发布了新款iPhone，市场反响热烈。',
            'entities': [{'start': 0, 'end': 4, 'type': 'company', 'sentiment': 'positive'}]
        },
        {
            'text': '特斯拉股价今日大幅下跌，投资者信心受挫。',
            'entities': [{'start': 0, 'end': 3, 'type': 'company', 'sentiment': 'negative'}]
        }
    ]
    
    # 训练模型（实际使用时应该准备更多训练数据）
    # metrics = model.train(train_data)
    # print(f"训练完成，指标: {metrics}")
    
    # 加载预训练模型
    # model.load('./model_saves/sentiment_model')
    
    # 准备预测数据
    text = '微软发布了新的AI助手，获得了业界好评。'
    entities = [{'start': 0, 'end': 3, 'type': 'company'}]
    
    # 进行预测
    # results = model.predict(text, entities)
    # print(f"预测结果: {results}")
    
    # 批量预测
    # texts = ['苹果公司表现良好。', '特斯拉面临挑战。']
    # entities_list = [[{'start': 0, 'end': 4, 'type': 'company'}], [{'start': 0, 'end': 3, 'type': 'company'}]]
    # batch_results = model.batch_predict(texts, entities_list)
    # print(f"批量预测结果: {batch_results}")
    
    # 模型量化
    # model.quantize_model('4bit')
    
    # 优化推理
    # model.optimize_inference()